In computer science, in particular in the field of formal language theory, the term abstract family of languages refers to an abstract mathematical notion generalizing characteristics common to the regular languages, the context-free languages and the recursively enumerable languages, and other families of formal languages studied in the scientific literature.
Contents |
A formal language is a set for which there exists a finite set of abstract symbols such that , where * is the Kleene star operation.
A family of languages is an ordered pair , where
A trio is a family of languages closed under e-free homomorphism, inverse homomorphism, and intersection with regular language.
A full trio, also called a cone, is a trio closed under arbitrary homomorphism.
A (full) semi-AFL is a (full) trio closed under union.
A (full) AFL is a (full) semi-AFL closed under concatenation and the Kleene plus.
The following are some simple results from the study of abstract families of languages.[1][2]
Within the Chomsky hierarchy, the regular languages, the context-free languages, and the recursively enumerable languages are all full AFLs. However, the context sensitive languages and the recursive languages are AFLs, but not full AFLs because they are not closed under arbitrary homomorphisms.
The family of regular languages are contained within any cone (full trio). Other categories of abstract families are identifiable by closure under other operations such as shuffle, reversal, or substitution.[3]
Seymour Ginsburg of the University of Southern California and Sheila Greibach of Harvard University presented the first AFL theory paper at the IEEE Eighth Annual Symposium on Switching and Automata Theory in 1967.[4]